#ifndef CONEXIONES_H
#define CONEXIONES_H

#include "socketservidor.h"
#include "hilodeentrada.h"
#include "mutex.h"
#include <vector>

using namespace red::hilos;
using namespace red::hilos::thread;
using namespace std;

namespace red {

typedef struct conexion_t {
	SocketServidor *pSocket;
	HiloDeEntrada *pHiloDeEntrada;
} conexion_t;

class Conexiones {

public:

	Conexiones();
	~Conexiones();

	void agregar(conexion_t p_Conexion);
	conexion_t get(int p_iNro);
	void terminarConexion(int p_iNro);
	int size();
	bool bTodasCorrectas();

private:

	typedef vector<conexion_t> vec_conexion_t;
	vec_conexion_t m_vecConexiones;
	Mutex m_Mutex;
};

}

#endif
